草庐IT

JavaScript window.opener 调用父函数

全部标签

javascript - 我的案例的函数声明和函数表达式之间的区别

有人请解释这里发生了什么。vary=1;if(functionf(){return'sometext';}){y+=typeoff;}console.log(y);//"1undefined"如果我把它改成函数表达式vary=1;if(a=functionf(){return'sometext';}){y+=typeofa;}console.log(y);//"1function" 最佳答案 if语句的条件始终是一个表达式。在第二种情况下,它是一个将全局(!)变量a设置为函数的赋值表达式,在第一种情况下,它只是一个函数表达式,并且该

javascript - 来自 Bookmarklet 的 Ajax 调用

我正在尝试创建一个小书签,点击后会向用户请求一些信息(在本例中为url和其他几个字段),然后将该数据发送到我服务器上的php页面,然后显示结果。我想为此做一个Ajax调用,这样我实际上不会重定向到新页面,只是获取数据,但我假设我会遇到Ajax的“同源策略”限制......有什么已知的方法可以基本上做同样的事情吗?此外,传递参数的最佳方式是什么?我已经有一种机制可以从表单接收参数作为发布消息...有什么方法可以重用它吗? 最佳答案 您可以通过创建书签并在下面的位置添加那段代码来设置小书签,但是,根据sameoriginpolicyli

javascript - 如何使用 AS3 运行 jQuery 函数

我正在尝试从AS3在我的HTML页面上运行一个jQuery函数。这是我的jQuery函数:functionloadImage(imageNumber){imageURL='';$("#imageBox").html(imageURL);}以下是我的Flash文件在HTML页面中的设置:最后...这是我的.swf文件中的AS3脚本:functiongotoImage1(e:MouseEvent):void{varjscommand:String="loadImage(1);"varlink:URLRequest=newURLRequest("javascript:"+jscommand+

javascript - 使用 Douglas Crockford 的函数继承在 Javascript 中调用基方法

基本上我如何使用下面的这种模式调用基本方法?varGS={};GS.baseClass=function(somedata){varthat={};that.data=somedata;//Baseclassmethodthat.someMethod=function(somedata){alert(somedata);};returnthat;};GS.derivedClass=function(somedata){varthat=GS.baseClass(somedata);//Overwritingbasemethodthat.someMethod=function(someda

Javascript - 获取函数(方法)的类所有者

有没有办法知道哪个类拥有一个函数?示例:functionglobalFunc(){//alertMyObject}functionMyObject(){}MyObject.prototype.test=function(){globalFunc();}varo=newMyObject();o.test();//alertMyObject现在我正在使用这个解决方法:functionglobalFunc(){alert(globalFunc.caller.__class__);}functionMyObject(){}MyObject.prototype.test=function(){g

javascript - 延迟函数的返回

有没有办法使用setTimeout()来延迟函数的返回?functionfoo(){window.setTimeout(function(){//dosomething},500);//return"somethingbutwaittillsetTimeout()finishes";} 最佳答案 使用promise:constfetchData=()=>newPromise(resolve=>{setTimeout(()=>resolve(apiCall()),3000);});感谢@NikKyriakides更新了答案,他指出as

javascript - 在 JavaScript 中更改函数 "this"值

我正在用一些方法构建一个库,我有一个方法extend和一种方法load.我希望它像这样工作:Core.extend('name',function(message){this.innerHTML=message;});然后要实际运行它,您需要执行以下操作:Core.load('name','Hey!');Core.extend()创建一个具有基于名称的唯一ID的元素。我想制作this==生成的.我知道.call()和.apply(),显然,但它没有改变this它只更改扩展中的回调参数。这是扩展和加载的代码:Core.extend()varextend=function(name,fun

javascript - 如何知道事件发生时触发了什么函数(或代码片段)?

我通过使用Firebug工具在浏览器上查看代码来学习HTML和CSS。如果我不明白他们在做什么,我会查阅他们的引用资料。我学到了很多东西。现在我想用同样的方式学习JavaScript(我只是对JS略知一二)。比方说:我打开一个网页(例如Facebook)我点击页面右上角的设置按钮。它显示了一个选项列表(帐户设置、隐私设置、注销……)我知道选项框是一个标签,当我点击设置按钮时它会切换显示/隐藏。据我所知,如果我想测试一个JS片段(使用Firebug),我必须知道它应该在什么时候运行。但我不是Facebook开发人员,我没有编写该代码,所以我无法猜测这一点。当我“点击”设置按钮时,如何知道

javascript - 尝试了解 underscore.js 源代码 - 在库中调用和应用

在JeremyAshkenas令人敬畏的Underscore.js库中,我试图了解有关源文件的一件事。我不明白这一点:varslice=Array.prototype.slice;args=slice.call(arguments,2);这样:args=Array.prototype.slice.call(arguments,2);.call或.apply是函数的方法。但是在这里,.call指的是哪些函数呢?第一个参数应该是上下文,但是arguments是上下文?第二个参数应该是传递给函数的参数。这里是数字2。这是什么意思?有时在库中,它使用1或0。它们是传递给函数的参数的数量吗?_.

javascript - 对象的默认函数?

是否可以在对象上设置默认函数,以便在我调用myObj()时执行该函数?假设我有以下func对象functionfunc(_func){this._func=_func;this.call=function(){alert("calledafunction");this._func();}}vartest=newfunc(function(){//dosomething});test.call();我想用test()替换test.call()。这可能吗? 最佳答案 返回一个函数:functionfunc(_func){this._fu